// 数组分块
// 语法: chunk(array, size)
// 功能: 将数组拆分成多个 size 长度的区块，每个区块组成小数组,整体组成一个二维数组
// 如: [1, 3, 5, 6, 7, 8] 调用chunk(arr, 4) ==> [[1, 3, 5, 6], [7,8]]

/**
 * 数组分块
 * @param {Array} arr 数组
 * @param {Number} size 长度
 * @returns 
 */
 export function chunk(arr, size = 1) {
  if (arr.length === 0) return [];
  let result = []; // 最终返回的数组
  let tmp = []; // 临时数组，会被push进result中
  arr.forEach(item => {
    if (tmp.length === 0) { // 如果tmp没有元素，则push进result
      result.push(tmp);
    }
    tmp.push(item); // 不断往tmp中push元素
    // 当tmp的长度等于size的时候就清空，这样下一轮tmp又会被push进result
    if (tmp.length === size) {  
      tmp = [];
    }
  })
  return result;
}











